package com.jl.mapper;

import com.jl.model.DamagePart;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 故障部位表 Mapper 接口
 * </p>
 *
 * @author JiangJian
 * @since 2019-04-30
 */
public interface DamagePartMapper extends BaseMapper<DamagePart> {



//    Integer selectCountDamage(@Param("modelId")Long modelId,@Param("partId"))



    /**
     * 批量插入故障部位信息
     * @param damagePartList 故障部位列表
     * @return
     */
    Integer insertBatch(@Param("damageParts") List<DamagePart> damagePartList);


    /**
     * 同一台设备：根据device_id 和 part_id相同的值视为重复故障部位
     * @param startTime 时间区间
     * @param endTime 时间区间
     * @return
     */
    List<Map<String,Object>> selectDuplicateFaultDevicePart(@Param("statTime")String startTime, @Param("endTime") String endTime);

    /***************************统计代码**************************************/

    /**
     * 获取故障次数最多的部位
     * @param type 按周还是按月 1 周 2月
     * @param startTime 起始时间
     * @param endTime 结束时间
     * @return 故障部位信息
     */
    List<Map<String,Object>> selectTopDamagePartCount(@Param("type") Integer type,@Param("startTime") String startTime,@Param("endTime") String endTime);


}
